package org.example.properties;

/**
 * @author liyishan
 * @date 2024/1/10 14:30
 * @apiNote
 */

import lombok.Data;

/**
 * 具体限流策略配置类
 * @author Mr.Tao
 */
@Data
public class StrategyConfig {
    /**
     * 公共限流策略
     */
    private Integer publicLimitStrategy;

    /**
     * 公共限流接口所在包路径(redis限流和漏桶限流都用这一个路径)
     */
    private String publicLimitPackagePath;

    /**
     * Redis普通时间统计限流策略
     */
    private Integer timeStatisticsLimitStrategy;

    /**
     * Redis普通时间统计限流接口所在包路径
     */
    private String timeStatisticsLimitPackagePath;

    /**
     * Redis滑动时间窗口限流策略
     */
    private Integer slideWindowLimitStrategy;

    /**
     * Redis滑动时间窗口限流限流接口所在包路径
     */
    private String slideWindowLimitPackagePath;

    /**
     * 漏桶限流策略
     */
    private Integer leakyBucketLimitStrategy;

    /**
     * 漏桶限流接口所在包路径
     */
    private String leakyBucketLimitPackagePath;
}
